<?php
/**
 * Created by PhpStorm.
 * User: zm156
 * Date: 2019/7/31 0031
 * Time: 23:38
 */

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;

class Student extends Model{

    const SEX_UN = 10; //未知
    const SEX_BOY = 20; //男
    const SEX_GIRL = 30; //女


    /**
     * 关联到模型的数据表
     *
     * @var string
     */
    protected $table = 'student';

    /**
     * 定义主键
     *
     * @var string
     */
    protected $primaryKey = 'id';

    /**
     * 表明模型是否应该被打上时间戳
     *
     * @var bool
     */
    public $timestamps = true;

    /**
     * 模型日期列的存储格式
     * $dateFormat 属性。该属性决定日期被如何存储到数据库中，以及模型被序列化为数组或 JSON 时日期的格式
     * $dateFormat 可以接受的值和 php 中 date () 函数第一个参数可以接受的值一样。
     *  U 的意思就是我们平常说的时间戳 (10 位到秒)
     * Y m d H i s 都可用
     * @var string
     */
//    protected $dateFormat = 'U';



//启用软删除
//    use SoftDeletes;

    /**
     * 应该被调整为日期的属性
     *
     * @var array
     */
//    protected $dates = ['deleted_at'];


//
    /**
     * 如果同时定义了$dateFormat getDateFormat， 数据表的时间类型 以getDateFormat 的返回值为准。
     */
    protected function getDateFormat(){
      //  return  date("Ymd",time());
        return time();
    }
    /**
     *
     * 不写此函数，echo 时间戳自动转为2019-08-01 15:03:03 格式
     * echo $student->created_at;
     *
     */
    protected function asDateTime($value)
    {
        return $value;
    }


//    自定义用于存储时间戳的字段名称，可以在模型中设置 CREATED_AT 和 UPDATED_AT 常量：

//    const CREATED_AT = 'creation_date';
//    const UPDATED_AT = 'last_update';


//二者互斥，只能定义一个 $fillable $guarded
    /**
     * 可以被批量赋值的属性.
     * 白名单
     * @var array
     */
   // protected $fillable = ['name'];

    /**
     * 不能被批量赋值的属性
     * 黑名单
     * @var array
     */
   // protected $guarded = ['price'];
    protected $guarded = [];//所有属性都可赋值



    /*
     * 性别 处理
     */
    public function student_sex($ins = null){
        $arr = array(
            self::SEX_UN => '未知',
            self::SEX_BOY => '男',
            self::SEX_GIRL => '女',
        );

        if($ins !== null){
            return array_key_exists($ins,$arr)?$arr[$ins]:$arr[self::SEX_UN];
        }

        return $arr;
    }

}